Recovering Sequentiality in Functional-Logic Programs
نویسندگان
چکیده
EEcient code generation in implementations of functional logic languages relies on the sequentiality of the program rules | existence of an optimal evaluation order for arguments. Parallel evaluation of arguments in the presence of free variables is out of the question due to the possibility of backtracking and sharing of these variables among diierent arguments. In this paper we show that the lack of sequentiality is often syntactic rather than semantic and that a clever use of type information and strictness analysis can enable a compiler to generate sequential code from most programs.
منابع مشابه
Opus: University of Bath Online Publication Store a Logic of Sequentiality
Game semantics has been used to interpret both proofs and functional programs: an important further development on the programming side has been to model higher-order programs with state by allowing strategies with “history-sensitive” behaviour. In this paper, we develop a detailed analysis of the structure of these strategies from a logical perspective by showing that they correspond to proofs...
متن کاملSilcs { Speciication in Logic of Concurrent Systems
This paper introduces the constructive logic speciication language SILCS (Speciication In Logic of Concurrent Systems). The operational semantics of SILCS encapsulates the computational rule required for the correct interpretation of`programs' derived from Horn clause characterisations of the behaviour of concurrent systems. SILCS is expressive enough to describe many of the behaviours associat...
متن کاملA Unified Theory of Program Logics: An Approach based on the n-Calculus
Facing a staggering diversity of software behaviours in modern and future computing, we argue for the need of a unified theory of program logics for a wide variety of software behaviours as a foundation of software engineering.We propose Hennessy-Milner logic for typed π-calculi as one possible such foundation. The π-calculus enjoys a singular position among computational calculi through its ab...
متن کاملA Logic of Sequentiality
Game semantics has been used to interpret both proofs and functional programs: an important further development on the programming side has been to model higher-order programs with state by allowing strategies with “history-sensitive” behaviour. In this paper, we develop a detailed analysis of the structure of these strategies from a logical perspective by showing that they correspond to proofs...
متن کاملSilcs { a Constructive Speciication Language for Concurrent Systems
The engineering of concurrent systems is notoriously diicult because techniques employed for their speciication and implementation are often based on diiering theoretical foundations. We believe that rst order logic provides a unifying theoretical framework both for the speciication and the implementation of concurrent systems. This paper introduces the constructive logic speciication language ...
متن کامل